//package com.ruoyi.by.health.utils;
//
//import com.alibaba.fastjson.JSON;
//import com.ruoyi.by.health.domain.WechatLoginEmp;
//import com.ruoyi.common.constant.HttpStatus;
//import com.ruoyi.common.exception.ServiceException;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.security.core.Authentication;
//import org.springframework.security.core.context.SecurityContextHolder;
//import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
//
///**
// * 安全服务工具类
// *
// * @author ruoyi
// */
//@Slf4j
//public class EmpSecurityUtils
//{
//    /**
//     * 用户ID
//     **/
//    public static Long getEmpId()
//    {
//        try
//        {
//            return getLoginUser().getEmpId();
//        }
//        catch (Exception e)
//        {
//            throw new ServiceException("获取用户ID异常", HttpStatus.UNAUTHORIZED);
//        }
//    }
//
//    /**
//     * 获取部门ID
//     **/
//    public static Long getDeptId()
//    {
//        try
//        {
//            return getLoginUser().getDeptId();
//        }
//        catch (Exception e)
//        {
//            throw new ServiceException("获取部门ID异常", HttpStatus.UNAUTHORIZED);
//        }
//    }
//
//    /**
//     * 获取用户账户
//     **/
//    public static String getUsername()
//    {
//        try
//        {
//            return getLoginUser().getUsername();
//        }
//        catch (Exception e)
//        {
//            throw new ServiceException("获取用户账户异常", HttpStatus.UNAUTHORIZED);
//        }
//    }
//
//    /**
//     * 获取用户
//     **/
//    public static WechatLoginEmp getLoginUser()
//    {
//        try
//        {
//            Object userDetails= getAuthentication().getPrincipal();
//            log.info("-----------解析JWT获取用户userDetails:{}", JSON.toJSONString(userDetails));
//            return (WechatLoginEmp)userDetails ;
//        }
//        catch (Exception e)
//        {
//            throw new ServiceException("获取用户信息异常", HttpStatus.UNAUTHORIZED);
//        }
//    }
//
//    /**
//     * 获取Authentication
//     */
//    public static Authentication getAuthentication()
//    {
//        return SecurityContextHolder.getContext().getAuthentication();
//    }
//
//
//}
